package com.haizhi.workstation.util;

import java.io.File;

/**
 * 
 * @ClassName:  FileUtils   
 * @Description:TODO(这里用一句话描述这个类的作用)   
 * @author: 王程玉
 * @date:   2018年8月16日 下午2:35:28   
 *     
 * @Copyright: 2018  All rights reserved.
 */
public class FileUtils {

//    public static final long MB = 1024 * 1024;
//
//    public static final Set<String> FILE_PIC_EXT_FILTER = new HashSet<String>() {{
//        // 图片类
//        add("BMP");
//        add("JPG");
//        add("JPEG");
//        add("PNG");
//        add("GIF");
//        add("jpg");
//        add("jpeg");
//        add("png");
//    }};
//
//    private static final Set<String> FILE_EXT_FILTER = new HashSet<String>() {{
//        // 图片类
//        add("BMP");
//        add("JPG");
//        add("JPEG");
//        add("PNG");
//        add("GIF");
//        add("jpg");
//        add("jpeg");
//        add("png");
//        add("gif");
//        // 视频类
//        add("AVI");
//        add("MPEG4");
//        add("MP4");
//        add("avi");
//        add("mpeg4");
//        add("mp4");
//        add("ogg");
//        // 压缩类
//        add("ZIP");
//        add("RAR");
//        add("zip");
//        add("rar");
//    }};
//
//    /**
//     * describe: 进行文件上传的工具类
//     *
//     * @author 候帅
//     * date 18/7/2 下午4:19
//     */
//    public static void uploadFile(byte[] file, String filePath, String fileName) throws Exception {
//        File targetFile = new File(filePath);
//        if (!targetFile.exists()) {
//            targetFile.mkdirs();
//        }
//        FileOutputStream out = new FileOutputStream(filePath + fileName);
//        out.write(file);
//        out.flush();
//        out.close();
//    }
//
//    public static void upload(MultipartFile file, String filePath) throws Exception {
//        file.transferTo(new File(filePath));
//    }
//
//    public static String getSuffix(String fileName) {
//        return fileName.substring(fileName.lastIndexOf(".") + 1);
//    }
//
//    public static String getPrefix(String fileName) {
//        return fileName.substring(0, fileName.lastIndexOf("."));
//    }
//
//    public static String fileName(String prefix, String suffix) {
//        return Md5Encryption.getMD5(prefix + UUID.randomUUID().toString() + DateFormatUtil.formatDate(PATTERN_DEFAULT_ON_SECOND_CLEAR, new Date())) + "." + suffix;
//    }
//
//
//    public static boolean attachmentFilter(String ext) {
//        return FILE_EXT_FILTER.contains(ext);
//    }
//
//    /**
//     * 保存文件，路径不存在则创建
//     *
//     * @param fileData 文件数据
//     * @param path     文件路径
//     * @return
//     * @throws IOException 创建文件异常
//     */
//    public static Path saveFile(byte[] fileData, Path path) throws IOException {
//        if (!Files.exists(path)) {
//            Files.createDirectories(path);
//        }
//        return Files.write(path, fileData);
//    }
//
//
//    /**
//     * 保存文件，路径不存在则创建
//     *
//     * @param fileName 文件名
//     * @param fileData 文件数据
//     * @param filePath 文件路径
//     * @return
//     * @throws IOException 创建文件异常
//     */
//    public static Path saveFile(byte[] fileData, String filePath, String fileName) throws IOException {
//        Path path = Paths.get(filePath);
//        if (!Files.exists(path)) {
//            Files.createDirectories(path);
//        }
//        return Files.write(Paths.get(path.toString(), fileName), fileData);
//    }

    /**
     * 删除文件及子目录
     *
     * @param file
     */
    public static void fileRemove(File file) {
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            for (File f : files) {
                fileRemove(f);
            }
        }
        file.delete();
    }
}